import { RouterMount, createRouter } from "uni-simple-router";

console.log(ROUTES);

const router = createRouter({
	platform: process.env.VUE_APP_PLATFORM,
	routes: [...ROUTES],
});

// 全局路由前置守卫
router.beforeEach((to, from, next) => {

	const token = uni.getStorageSync("AccessToken");


	// 如果有 token 且目标页面是登录页面，则重定向到首页
	if (token && to.path === '/pages/login/index') {
		// console.log("已经登录，重定向到首页");
		next({ path: '/pages/work/index' });
	} else if (to.path === '/pages/login/index') {
		// 如果是登录页，直接放行
		next();
	} else if (!token) {
		// 如果没有 token 且不是登录页，跳转到登录页
		// console.log("需要登录");
		next({ path: '/pages/login/index' });
	} else {
		// 如果有 token，不需要登录，正常放行
		// console.log("不需要登录");
		next();
	}

	// console.log("前置守卫" + JSON.stringify(to));
});

// 全局路由后置守卫
router.afterEach((to, from) => {
	const token = uni.getStorageSync("AccessToken");

	if (!token && to.path !== '/pages/login/index') {
		// 没有登录信息且目标路由不是登录页面，重定向到登录页面
		uni.redirectTo({ url: '/pages/login/index' });
	} else if (token && to.path === '/pages/login/index') {
		// 已经登录且目标页面是登录页面，重定向到首页
		uni.redirectTo({ url: '/pages/work/index' });
	}

	// console.log("跳转结束" + JSON.stringify(to));
});

export { router, RouterMount };